[IA64] fix initrd start
authorawilliam@xenbuild.aw <awilliam@xenbuild.aw>
Mon, 8 May 2006 19:05:47 +0000 (13:05 -0600)
committerawilliam@xenbuild.aw <awilliam@xenbuild.aw>
Mon, 8 May 2006 19:05:47 +0000 (13:05 -0600)
Fix initrd start to work with P2M/VP

Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
xen/arch/ia64/xen/dom_fw.c
xen/arch/ia64/xen/xensetup.c

index a7d3373da8d0f1d35339f52e5809b9dd6e08ef0a..8d0b7801c5cfac04976c7c84643faab757f084be 100644 (file)
@@ -1019,7 +1019,8 @@ dom_fw_init (struct domain *d, const char *args, int arglen, char *fw_mem, int f
        if (d == dom0) {
                // XXX CONFIG_XEN_IA64_DOM0_VP
                // initrd_start address is hard coded in start_kernel()
-               bp->initrd_start = ia64_boot_param->initrd_start;
+               bp->initrd_start = (dom0_start+dom0_size) -
+                 (PAGE_ALIGN(ia64_boot_param->initrd_size) + 4*1024*1024);
                bp->initrd_size = ia64_boot_param->initrd_size;
        }
        else {
index caf8d5fe4801bc5703d89430deb90e1c2c2baa16..01c4de34614b85b39aab1dc4676cda84a1e71419 100644 (file)
@@ -415,8 +415,7 @@ printk("About to call domain_create()\n");
     printk("About to call construct_dom0()\n");
     dom0_memory_start = (unsigned long) __va(initial_images_start);
     dom0_memory_size = ia64_boot_param->domain_size;
-    dom0_initrd_start = (unsigned long) __va(initial_images_start +
-                            PAGE_ALIGN(ia64_boot_param->domain_size));
+    dom0_initrd_start = (unsigned long) __va(ia64_boot_param->initrd_start);
     dom0_initrd_size = ia64_boot_param->initrd_size;
  
     if ( construct_dom0(dom0, dom0_memory_start, dom0_memory_size,